Non-volatile memories are commonly incorporated in integrated circuits such as an application processor for mobile devices. For example, a non-volatile memory such as a fuse-based memory may be used to configure a device with an encryption code, adaptations for specific process corners, wafer coordinates, e-commerce data, JTAG security modes, and so on. The memory cell in a fuse-based memory comprises a conductor that can be programmed by “burning” the fuse with sufficiently high current. The value for the stored bit in a memory cell depends upon whether the memory cells's fuse is programmed to be non-conducting or remains conducting. Reading the resulting stored value in a memory cell thus comprises determining the resistance of the memory cell's fuse to determine whether or not it has been programmed. Despite the wide usage of fuse-based non-volatile memories, problems remain with their design.
A first problem concerns the amount of current driven through a fuse during a read operation. In particular, reading the programmed state of a fuse typically involves determining the degree to which a fuse will discharge a precharged bit line to ground. If the fuse is non-programmed (relatively low resistance) and it is coupled between ground and the precharged bit line, the charged bit line will discharge towards ground relatively rapidly. But if the fuse has been programmed (commonly referred to as being “burned”) so as to have a high resistance, the pre-charged bit line cannot discharge so quickly. A precharged bit line coupled to a programmed fuse will thus maintain a relatively high voltage whereas the voltage on a precharged bit line coupled to a non-programmed fuse will be pulled towards ground. A sense amplifier compares the voltage on an accessed fuse's pre-charged bit line to a reference bit line voltage to read the fuse state. But the current driven through a fuse from a precharged bit line during a read operation must be carefully controlled. If too much current is applied, a non-programmed fuse may become programmed. Conversely, limiting the current too much increases the read access time to unacceptable levels because it takes a relatively long time for a non-programmed fuse passing a limited amount of current to pull its precharged bit line towards ground.
Limiting the current during a read operation while not suffering from unacceptable long read access times is not the only issue for fuse-based non-volatile memories. In addition, the sense amplifier must be properly timed to sense the bit lines voltages at an appropriate time. The proper timing of the sense amplifier will vary depending upon variations in the process corner, voltage supply levels, and temperature. Conventional fuse-based non-volatile memories are not robust to these variations.
Accordingly, there is a need in the art for improved fuse-based non-volatile memories in which the fuse states can be safely sensed while minimizing the access time despite process corner, voltage supply level, and temperature variations.